package com.yc.cloud.admin.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;

import com.yc.cloud.vo.BaseEntityVo;

/**
 * hw_camera 视图对象
 *
 * @author kinggu
 * @since 2025-08-25
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "HwCameraVo", description = "hw_camera视图对象")
public class HwCameraVo extends BaseEntityVo{

    @ApiModelProperty(value = "摄像头名称")
    private String name;
    
    @ApiModelProperty(value = "摄像头IP地址")
    private String cameraIp;
    
    @ApiModelProperty(value = "摄像头端口号")
    private Integer cameraPort;
    
    @ApiModelProperty(value = "摄像头登录用户名")
    private String cameraUsername;
    
    @ApiModelProperty(value = "摄像头登录密码(加密)")
    private String cameraPassword;
    
    @ApiModelProperty(value = "RTSP流地址")
    private String rtspUrl;
    
    @ApiModelProperty(value = "安装位置")
    private String location;
    
    @ApiModelProperty(value = "在线状态：0-离线, 1-在线, 2-故障")
    private Integer onlineStatus;
    
    @ApiModelProperty(value = "品牌")
    private String brand;
    
    @ApiModelProperty(value = "型号")
    private String model;
    
    @ApiModelProperty(value = "备注信息")
    private String description;
    
    @ApiModelProperty(value = "所属分组ID")
    private Long groupId;

    @ApiModelProperty(value = "所属区域ID")
    private Long regionId;

    @ApiModelProperty(value = "所属区域名称")
    private String regionName;

    @ApiModelProperty(value = "关联监视点ID")
    private Long monitoringPointId;

    @ApiModelProperty(value = "关联监视点名称")
    private String monitoringPointName;

    @ApiModelProperty(value = "SIP用户名")
    private String sipUsername;

    @ApiModelProperty(value = "视频编码通道")
    private String videoChannel;

    @ApiModelProperty(value = "是否置顶")
    private Boolean pinned;

    @ApiModelProperty(value = "置顶时间")
    private LocalDateTime pinnedTime;

    @ApiModelProperty(value = "WebRTC播放地址")
    private String streamUrl;
    
} 